Method and Apparatus for Determination of the Rotor Position of an Electric Motor

ABSTRACT

The invention relates to a method for determining the angular position (theta) of a rotor ( 2 ) pertaining to an electric motor ( 1 ) and comprising a number of pairs of poles. Said method consists of the following steps: a pulse pattern (PM 1 , PM 2 , PM 3 ) with a pulse duration (T) flows through at least one stator coil ( 7 ) of the electric motor ( 1 ), such that the rotor ( 2 ) does not rotate by more than  90  DEG, divided between the number of pairs of poles, during the pulse duration (T); the angular acceleration (alpha) of the rotor ( 2 ), caused by the pulse pattern flowing through the at least one stator coil, ( 7 ) is detected; and the angular position (theta) of the rotor ( 2 ) is determined by means of the correlation between the flow through the stator coil ( 7 ) and the angular acceleration (alpha) of the rotor ( 2 ).

BACKGROUND OF THE INVENTION

The invention relates to a method and an apparatus for determination of the rotor position of an electric motor, in particular of a brushless electric motor. A method for controlling an electric motor, in which the position of a rotor relative to a stator is determined, is known, for example, from DE 44 37 793 C2. Analogously to the terminology used in this document, the terms “rotor” and “stator” in the following text refer to the functional basic elements of an electric motor which assume a variable position (rotor) or a fixed position (stator) relative a fixed coordinate system. This therefore also covers linear motors as electric motors.

In the method which is known from DE 44 37 793 C2, the relationship between a known signal which is applied to the electric motor and the movement of the rotor stimulated by this is used to determine the position of the rotor, in which case, by way of example, the change in the position of the rotor is measured by means of an incremental, optical measurement system. There is therefore no need to directly measure the rotor position by means of an absolute measurement system. However, depending inter alia on the motor geometry, not only an absolute measurement system but also an incremental measurement system can represent considerable hardware complexity. This applies in particular to hollow-shaft motors, as are used by way of example in machines which process plastic. On the other hand, in the case of the method according to DE 44 37 793 C2, the magnitude of the amplitude of the movement which is excited by the known signal that is applied often represents a disadvantage.

SUMMARY OF THE INVENTION

The invention is based on the object of specifying a method for determining the position of the rotor of an electric motor, which operates in a particularly economic manner without direct position or position-changed measurement and, in particular, excites the motor to carry out only very small movements. A further aim is specify an apparatus which is suitable for carrying out the method.

According to the invention, this object is achieved by a method for determination of the angular position of a rotor, which has a number of pole pairs, of an electric motor, with the method having the following steps current is passed through at least one stator winding of the electric motor with a pulse pattern and a pulse duration such that the rotor rotates through not more than 90° divided by the number of pole pairs during the pulse duration, the angular acceleration of the rotor produced by the current that is passed through the at least one stator winding is recorded, the angular position of the rotor is determined by means of the relationship between the current that is passed through the stator winding and the angular acceleration of the rotor. According to the invention, this object is also achieved an apparatus for determination of the angular position of a rotor, which has a number of pole pairs, of an electric motor, with the apparatus having stator windings which are intended to have a pulse pattern of a pulse duration applied to them, an acceleration sensor, which is intended to record the angular acceleration of the rotor caused by the current passing through the stator windings, an evaluation unit, which interacts with the stator windings and with the acceleration sensor, in order to carry out a method of the invention. The statements made in the context of the apparatus in the following text also apply in the same sense to the method, and vice versa. Neither an absolute measurement system nor an incremental position measurement system is required to determine the position of the rotor, but, instead of this, only an acceleration sensor. That measurement variable which indicates the acceleration of the rotor is available in the method by means of direct physical relationships, preferably by means of the eddy-current principle. A Ferraris sensor is preferably used for this purpose, as is known in principle, for example, from DE 101 56 782 C1.

The invention is intended primarily for determination of the position of the rotor during the starting of an electric motor, but may also be used for determination of positions during motor operation. In the former case, an additional measurement system is required for determination of position changes during subsequent running operation. The motor is preferably an electric motor with a permanent-magnet rotor. The rotation during the method for position determination is less than 90° divided by the number of pole pairs of the rotor. The position of the rotor while carrying out the method, that is to say during one so-called pulse duration within which at least one stator winding in the electric motor has a current pulse pattern passed through it, preferably changes by no more than 2°, and in particular by a maximum of about 1°.

In one particularly advantageous refinement, a plurality, in particular two, of mutually orthogonal components which are linearly independent of one another flow through the stator during the position-determination process. Each component of the current flow through the stator windings in this case has a specific current-flow pattern, with the totality of the current-flow patterns forming the pulse pattern. With respect to the individual components, that is to say the individual current-flow patterns, the current can flow either in the form of continuous signals, for example sinusoidal signals, or in the form of pulses which are separate from one another, for example square-wave pulses. In this context, a square-wave pulse also means a pulse which only approximately has a square-waveform.

Passing current through the stator in the form of square-wave pulses results in the advantage that the acceleration signal that is produced can be computationally evaluated easily. The duration of each square-wave pulse is long enough to produce an acceleration signal which can be associated with this pulse and can be evaluated unambiguously, while at the same time being sufficiently short that the rotor position does not change significantly during the pulse, in particular in cases in which the rotor is stationary at the start of the position-determination process. A current-flow pattern is preferably formed from a plurality of square-wave pulses of different mathematical sign, and results in no change in the position of the rotor, or only a very small change in its position. In this case, separate acceleration measurements are carried out throughout the duration of at least one of the square-wave pulses, preferably throughout the entire duration of the current-flow pattern. A particularly small deflection of the rotor during the current-flow pulse is achieved by means of a pulse which has a central section of a first mathematical sign, directly preceded and followed by edge sections of the opposite mathematical sign. In particular, the parameters of a current-flow pulse such as this composed of three sections can be selected in a simple manner such that no permanent change in the angular position of the rotor is induced overall.

The relationship between the measured acceleration of the rotor and the angular position of the rotor cannot be determined unambiguously by considering only the reaction of the rotor to one of the linearly independent, in particular orthogonal, current-flow components. This is true subject to the precondition, which is satisfied for short current-flow durations, that the angular position of the rotor does not change significantly while a constant current pulse is being applied to the stator.

If a rotor acceleration is measured which amounts to a specific fraction of a maximum acceleration which can be achieved by the current-flow component, then it is in this way admittedly possible to determine the magnitude of the rotor angle by which it differs from that angular position at which the maximum acceleration occurs, but it is not possible to determine the mathematical sign of the difference angle in this way. In contrast, the rotor position angle can be determined unambiguously by evaluation of the various acceleration signals which are produced by the different current-flow components, that is to say components of the pulse pattern. A simple evaluation capability is achieved in particular by the stator being excited exclusively with a current-flow component, that is to say a current-flow pattern as part of the pulse pattern when the respective other current-flow component is zero or all of the other current-flow components in the pulse pattern are zero. In this case none of the individual current-flow components, which are offset in time, lead to any permanent change in the position of the rotor, or they lead only to a very small permanent change in the position of the rotor.

Both or all of the current-flow patterns within the pulse pattern preferably have the same form. The angular position of the rotor can thus be determined solely by the relationship between the acceleration signals which are produced by the various current-flow components. Physical variables which describe the relationship between the current flow and the resultant absolute value of the angular acceleration, such as the inertia of the rotating blades, can therefore be ignored in the angle calculation, in the same way, for example, as friction influences. Specific measurement factors, for example the frequency response of a Ferraris sensor that is used as the acceleration sensor, correspondingly affect the measurements of the two components, or all of the components, of the current flow in the stator in the same way. In the case of current-flow patterns, which comprise a square-wave pulse with sections of opposite mathematical sign, it is advantageous to choose the absolute values of the current in those sections to be identical.

In principle, a single pulse pattern and thus a single pulse duration is sufficient to determine the angular position of the rotor. According to one advantageous development, which can be considered in particular for continuous rotor-position determination during motor operation, but also to increase the accuracy of the rotor position determination during starting of the motor, periodic repetition of the current flow through the stator windings with the pulse pattern is provided.

BRIEF DESCRIPTION OF THE DRAWING

One exemplary embodiment of the invention will be explained in more detail in the following text with reference to a drawing, in which:

FIGS. 1 a, 1 b show a cross section through an electric motor, as well as an electrical equivalent circuit,

FIG. 2 shows various coordinate systems which are used to represent the current flow through the electric motor,

FIG. 3 shows a first example of a current flow through the electric motor,

FIG. 4 shows a second example of a current flow through the electric motor, and

FIG. 5 shows a third example of a current flow through the electric motor.

Mutually corresponding parts and parameters are annotated with the same reference symbols in all of the figures.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

FIG. 1 a shows the cross section through a two-pole synchronous motor 1 with permanent-magnet excitation, which is also referred to for short in the following text as a motor. The rotor 2 of the electric motor 1 has two permanent magnets 3 which, together, produce a field flux in the direction of the arrow 3 a. The angle θ that is shown in FIG. 1 a, where −π≦θ<π in this case denotes the rotor position, that is to say the position of the rotor 2. An acceleration sensor 6, preferably a Ferraris sensor, is provided in order to measure the angular acceleration α; that is to say the second derivative with respect to time of the rotor position. An evaluation unit 8 interacts with the acceleration sensor 6, which is indicated only schematically, and with the stator windings 7, which are likewise indicated only by way of example in FIG. 1 a, and (as will be explained in more detail in the following text with reference to FIGS. 3 to 5) firstly produces defined current pulses in order to induce an angular acceleration α of the rotor 2, secondly calculates the signal coming from the acceleration sensor 6 with these current pulses, and, thirdly, determines the rotor position θ from this. The stator windings 7 are used primarily for current to be passed through the motor 1 during normal operation, that is to say in order to produce drive power. The current flow according to the invention with the pulse patterns that will be explained in the following text is additively superimposed, or is carried out once before the conventional motor current flow.

FIG. 1 b shows the electrical equivalent circuit of the motor 1 with three connecting terminals R, S, T, and with the motor currents i_(R), i_(S), i_(T) flowing through them. The stator windings 7 of the motor 1 are each represented in FIG. 1 b by a resistance 4 and a inductance 5. As can be seen from FIG. 1 b, the circuit is a system with two degrees of freedom, on the basis of a node 9 which connects the connecting terminals R, S, T via the resistances 4 and inductances 5.

The current flow through the motor 1 must be selected to match the rotor position θ in order to achieve the maximum torque output from the motor 1, that is to say the maximum torque M for a predetermined (i_(R) ²+i_(S) ²+i_(T) ²)^(1/2). If the current flow through the motor 1 is not optimally matched to the rotor position θ in this sense, but corresponds to an angle θ−ε other than this (where ε<θ), then this results in a torque which is reduced by the factor cos ε. This factor can now be used to determine the angular position θ of the rotor 2 by passing current through the motor 1 deliberately inappropriately for the rotor position θ at times, in the manner which is explained in more detail in the following text, and by an analyzing the resultant torque M. In this case, the torque M is not measured directly, but the angular acceleration α of the rotor 2, which is at least approximately proportional to it.

When the motor currents i_(R), i_(S), i_(T) flow through the motor 1, it produces a torque M which is dependent on the motor currents i_(R), i_(S), i_(T) and on the rotor position θ. The torque M acting on the rotor 2 in turn leads to angular acceleration α of the rotor 2, which, subject to the simplifying assumption that this is a constant self-torque or load-inertia torque, and that there are no disturbance torques or friction torques, is proportional to the torque M. If the sum of the self-torque and load-inertia torque is J, then:

α=M/J.  (40)

According to the invention, current is now passed through the motor 1 in such a way that the rotor position θ can be deduced by comparison of the motor current flow i_(R), i_(S), i_(T) and the resultant angular acceleration α. The angular position θ of the rotor 2 is then obtained by suitable calculation of the angular acceleration α, as measured by the acceleration sensor 6, with the motor current flow i_(R), i_(S), i_(T).

The relationships between the variables i_(R), i_(S), i_(T), θ mentioned above, and the method according to the invention, will be explained in more detail in the following text:

On the basis of the node 9 which connects the motor currents i_(R), i_(S), i_(T):

i _(R) ,+i _(S) +i _(T)=0.  (50)

The motor currents i_(R), i_(S), i_(T) can thus also be represented by two orthogonal components

i _(α)=(⅔)i _(R)+(−⅓)i _(s)+(−⅓)i _(T)  (60a)

i _(β) =i _(R)+(⅓^(1/2))i _(s)+(−⅓^(1/2))i _(T)  (60b)

If, conversely, the motor currents i_(R), i_(S), i_(T) are represented by the orthogonal components i_(α), i_(β), then this results in:

i_(R)=i_(a)  (70a)

i _(S)=(−½)i _(a)+(3^(1/2)/2)i _(β)  (70b)

i _(T)=(−½)i _(a)+(−3^(1/2)/2)i _(β)  (70c)

These components of the currents are referred to as being stator-fixed. The following components are obtained by rotation of the orthogonal components i_(α), i_(β) through an angle θ_(x):

i _(x)(θ_(x))=(cos θ_(x))i _(α)+(sin θ_(x))i _(β)  (80a)

i _(y)(θ_(x))=(−sin θ_(x))i _(α)+(cos θ_(x))i _(β)  (80b)

If the angle θ_(x) is constant, these components i_(x), i_(y) are likewise stator-fixed. If, in contrast, the angle θ_(x) is made equal to the rotor position θ, which in general varies with time, then this results in the rotor-fixed coordinates:

i _(q) =i _(x)=(θ)=(cos θ)i _(α)+(sin θ)i _(β)  (90a)

i _(d) =i _(y)(θ)=(−sin θ)i _(α)+(cos θ)i _(β)  (90b)

FIG. 2 shows the relationship between the coordinates α, β, x, y, q, d which are used for representation of the motor current flow, with rotor 2 of the motor 1 being symbolized as a bar magnet, and ω denoting the angular velocity.

The relationship between the motor current flow and the torque M that is produced or angular acceleration α that is produced can be formulated very easily by using the rotor-fixed coordinates i_(q), i_(d): the torque M is simply proportional to the component i_(q)=i_(x)(θ), while i_(d)=i_(y)(θ) produces no torque. The torque M and the angular acceleration α of the rotor 2 are obtained from equation (40) as follows:

M=K_(M)i_(q); α=(K _(M) /J)i _(q)  (100)

where

K_(M)>0  (105)

denotes a proportionality constant.

Since the rotor-fixed component i_(d) of the current flow does not produce any torque M, the aim is to pass current through the motor 1 in such a way that i_(d)=0. The rotor position θ must generally be known for this purpose for a current flow with defined rotor-fixed coordinates i_(q), i_(d). In order to determine the rotor position θ, current is passed through the stator windings 7 of the motor 1 using defined pulse patterns PM1, PM2 or PM3, which each have a current-flow pattern BM_(1x), BM_(1y), BM_(2x), BM_(2y), BM_(3x), BM_(3y) in each of the components i_(x), i_(y), as will be explained in more detail on the basis of the following examples. According to one basic principle for the determination of the rotor position θ, current is passed through the motor 1 for a short time interval

t ₀ ≦t<t ₀ +T ₁

where

i _(x)(θ_(x))=I ₀ , i _(y)(θ_(x))=0  (120)

where T₁ is assumed to be sufficiently short that the rotor position θ does not in practice change during this time interval. Solving (80a, b) on the basis of i_(α), i_(β), and substitution of the result in (90a, b) results in:

i _(q)=[cos(θ−θ_(x))]i _(x)(θ_(x))+[sin(θ−θ_(x))]i _(y)(θ_(x))  (130a)

i _(d)=[−sin(θ−θ_(x))]i _(x)(θ_(x))+[cos(θ−θ_(x))]i _(y)(θ_(x))  (130b)

It thus follows from (120) and (100) that:

α=[cos(θ−θ_(x))](K _(M) /J)I ₀  (140)

By solving for the angle, this results firstly in

θ−θ_(x)=±arccos(αJ/(K _(M) I ₀))+2kπ  (150)

and

θ=mod(θ_(x)±arccos(αJ/(K _(M) I ₀)),2π),  (160)

where arccos denotes the main value of the arccosine, k is an integer and mod is the modulo function, that is to say mod(x, y) is the remainder from the division of x by y. In this case, using (160) to determine the rotor position θ still has two disadvantages:

Firstly, the ratio between the proportionality constant K_(M) and the sum, which is denoted J, of the self-torques and load-inertia torques of the rotor 2 must be known.

Secondly, the mathematical sign of the difference between the angles θ and θ_(x), that is to say the difference between the actual angular position of the rotor 2 and that angular position of the rotor 2 which would result in the maximum torque M acting on the rotor 2 with the given current flow, cannot be determined.

These disadvantages are overcome by the method described in the following text.

In order to determine the rotor position θ when the rotor 2 is stationary at the time t=0, the motor 1 as shown in FIG. 3 has a pulse pattern PM1 passed through it, which is composed of a current-flow pattern BM_(1x) of the component i_(x) and a current-flow pattern BM_(1y) of the component i_(y):

$\begin{matrix} \begin{matrix} {{i_{x}\left( {\theta_{x},t} \right)} = l_{x\; 0}} & {{for}} & {{0 \leq t < T_{1}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{T_{1} \leq t < {3\; T_{1}}}} \\ {= l_{x\; 0}} & {{for}} & {{{3\; T_{1}} \leq t < {4\; T_{1}}}} \\ {= 0} & {{else}} &  \end{matrix} & \left( {162\; a} \right) \\ \begin{matrix} {{i_{y}\left( {\theta_{x},t} \right)} = l_{y\; 0}} & {{for}} & {{{{4\; T_{1}} + T_{2}} \leq t < {{5\; T_{1}} + T_{2}}}} \\ {= {- l_{y\; 0}}} & {{for}} & {{{{5\; T_{1}} + T_{2}} \leq t < {{7\; T_{1}} + T_{2}}}} \\ {= l_{y\; 0}} & {{for}} & {{{{7T_{1}} + T_{2}} \leq t < {{8\; T_{1}} + T_{2}}}} \\ {= 0} & {{else}} &  \end{matrix} & \left( {162\; b} \right) \end{matrix}$

In this case:

T₁K_(M)I_(x0)/J and T₁K_(M)I_(y0)/J are sufficiently small,  (163a)

so that, during the current-flow phases:

0≦t<4T ₁(i _(x)(θ_(x) ,t)≠0),  (163b)

4T ₁ +T ₂ ≦t<8T ₁ +T ₂(i _(y)(θ_(x) ,t)≠0),  (163c)

the rotor position θ changes only insignificantly, and the angular acceleration α is thus in each case proportional to the current i_(x)(θ_(x), t) or i_(y)(θ_(x), t), respectively. The current flow (162a, b) is thus chosen such that the rotor position (which is obtained by double integration from the acceleration) is changed only temporarily during the current-flow phases by this current flow, but otherwise remains unchanged, that is to say:

θ(t)=θ(0) for 4T ₁ ≦t≦4T ₁ +T ₂,  (164a)

θ(t)=θ(0) for 8T ₁ +T ₂ ≦t.  (164b)

The pulse duration T of the pulse pattern PM1 is given by 8T₁+T₂. The time period of each component i_(x)(θ_(x), t) i_(y)(θ_(x), t), in which the respective signal is not zero is referred to as the current-flow phase, and the rest of the time is referred to as the phase with no current flow. As can be seen from FIG. 3 and from the equations (162a, b), the current-flow phase of one of the components i_(x), i_(y) falls into a phase with no current flow for the other component i_(y), i_(x).

Thus, overall, the current flow (162a, b) results, according to (130a, b), (100), in the angular acceleration:

$\begin{matrix} \begin{matrix} {{\alpha (t)} = {\left( {K_{M}{l_{x\; 0}/J}} \right){\cos \left( {\theta - \theta_{x}} \right)}}} & {{{{for}\mspace{14mu} 0} \leq t < T_{1}}} \\ {= {{- \left( {K_{M}{l_{x\; 0}/J}} \right)}{\cos \left( {\theta - \theta_{x}} \right)}}} & {{{{for}\mspace{14mu} T_{1}} \leq t < {3\; T_{1}}}} \\ {= {\left( {K_{M}{l_{x\; 0}/J}} \right){\cos \left( {\theta - \theta_{x}} \right)}}} & {{{{for}\mspace{14mu} 3\; T_{1}} \leq t < {4\; T_{1}}}} \\ {= {\left( {K_{M}{l_{y\; 0}/J}} \right){\sin \left( {\theta - \theta_{x}} \right)}}} & {{{{{for}\mspace{14mu} 4\; T_{1}} + T_{2}} \leq t < {{5\; T_{1}} + T_{2}}}} \\ {= {{- \left( {K_{M}{l_{y\; 0}/J}} \right)}{\sin \left( {\theta - \theta_{x}} \right)}}} & {{{{{for}\mspace{14mu} 5\; T_{1}} + T_{2}} \leq t < {{7\; T_{1}} + T_{2\;}}}} \\ {= {\left( {K_{M}{l_{y\; 0}/J}} \right){\sin \left( {\theta - \theta_{x}} \right)}}} & {{{{{for}\mspace{14mu} 7\; T_{1}} + T_{2}} \leq t < {{8\; T_{1}} + T_{2}}}} \\ {= 0} & {{{else},}} \end{matrix} & (165) \end{matrix}$

Firstly, this results in the following relationships:

cos(θ−θ_(x))=(J/K _(M))α(t _(x))/I_(x0),

sin(θ−θ_(x))=(J/K _(M))α(t _(x))/I_(y0,)   (166a)

where in this case t_(x), t_(y) denote non-specific times in the range

0≦t_(x)≦T₁ or 3T₁≦t_(x)≦4T₁ or  (166b)

4T ₁ +T ₂ ≦t _(y)≦5T ₁ +T ₂ or

7T ₁ +T ₂ ≦t _(y)≦8T ₁ +T ₂  (166c).

On the basis of (105), the sought rotor position θ(0) can thus be determined as follows:

θ(0)=θ_(x) +a tan 2(α(t _(y))/I _(y0),α(t _(x))/I_(x0));  (166d)

where in this case a tan 2(y, x) means the argument of the complex number x+jy, where j represents the imaginary unit (j²=−1). For practical use of this formula, however, it should be remembered that the relationships relating to the current flow in (165) are generally valid only approximately, averaged over time. In this case, it is more appropriate to determine the rotor position θ using the formulae:

θ(0)=θ_(x) +a tan 2(c _(a iy) /c _(iy iy) ,c _(α ix) /c _(ix ix));  (167a)

where

c _(α ix)=∫_(0≦t≦T)α(t)i _(x)(θ_(x) ,t)dt,

c _(α iy)=∫_(0≦t≦T)α(t)i _(y)(θ_(x) ,t)dt,  (167b, c)

c _(ixix)=∫_(0≦t≦T) [i _(x)(θ_(x) ,t)]² dt,

c _(iyiy)=∫_(0≦t≦T) [i _(y)(θ_(x) ,t)]² dt.  (167d,e)

where

T=8T ₁+2T ₂  (168)

The rotor position θ can be determined not only at the start, during starting of the motor 1, but continuously during operation, in various ways. In general, for this purpose, the current flow which is required for actual operation:

i_(x nom)(θ_(x),t), i_(y nom)(θ_(x),t)  (169a)

must also have a test current flow

i_(x test)(θ_(x),t), i_(y test)(θ_(x),t)  (169b)

superimposed on it, that is to say the current flow must be:

i _(x)(θ_(x) ,t)=i _(x nom)(θ_(x) ,t)+i _(x test)(θ_(x) ,t),  (169c)

i _(y)(θ_(x) ,t)=i _(y nom)(θ_(x) ,t)+i _(y test)(θ_(x) ,t).  (169d)

There are a number of options for these pulse patterns PM, which are referred to here as the test current flow i_(x test)(θ_(x), t), i_(y test)(θ_(x), t):

A first option for a suitable test current flow is obtained, for example, from the periodic continuation of (162a, b) for t>0, as is shown by the pulse pattern PM2, which is composed of current-flow patterns BM_(2x), BM_(2y) in FIG. 4:

$\begin{matrix} \begin{matrix} {{i_{x\; {test}}\left( {\theta_{x},t} \right)} = l_{x\; 0}} & {{for}} & {{{nT} \leq t < {{nT} + T_{3}}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{{{nT} + T_{1}} \leq t < {{nT} + {3\; T_{1}}}}} \\ {= l_{x\; 0}} & {{for}} & {{{{nT} + {3\; T_{1}}} \leq t < {{nT} + {4\; T_{1}}}}} \\ {= 0} & {{else}} &  \end{matrix} & \left( {170\; a} \right) \\ \begin{matrix} {{i_{y\; {test}}\left( {\theta_{x},t} \right)} = l_{x\; 0}} & {{for}} & {{{{nT} + {4\; T_{1}}} \leq t < {{nT} + {5\; T_{1}}}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{{{nT} + {5\; T_{1}}} \leq t < {{nT} + {7\; T_{1}}}}} \\ {= l_{x\; 0}} & {{for}} & {{{{nT} + {7\; T_{1}}} \leq t < {{nT} + {8\; T_{1}}}}} \\ {= 0} & {{{else},}} &  \end{matrix} & \left( {170\; b} \right) \\ {{n = 0},1,2,\ldots} & \left( {170\; b} \right) \end{matrix}$

with T as per (168).

On the assumption that the rotor position θ changes only insignificantly within the time interval nT≦t≦(n+1)T; n=0, 1, 2 . . . then, on the basis of (90a, b), (100), the resultant additional acceleration is:

$\begin{matrix} \begin{matrix} {{{\alpha_{test}(t)}\text{:}} = {{{\alpha (t)} - {\alpha_{nom}(t)}} = {\left( {K_{M}{l_{x\; 0}/J}} \right){\cos \left( {\theta - \theta_{x}} \right)}\mspace{14mu} {for}}}} \\ {{{nT} \leq t < {{nT} + T_{1}}}} \\ {= {{- \left( {K_{M}{l_{x\; 0}/J}} \right)}{\cos \left( {\theta - \theta_{x}} \right)}\mspace{14mu} {for}}} \\ {{{{nT} + T_{1}} \leq t < {{nT} + {3\; T_{1}}}}} \\ {= {\left( {K_{M}{l_{x\; 0}/J}} \right){\cos \left( {\theta - \theta_{x}} \right)}\mspace{14mu} {for}}} \\ {{{{nT} + {3\; T_{1}}} \leq t < {{nT} + {4\; T_{1}}}}} \\ {= {\left( {K_{M}{l_{y\; 0}/J}} \right){\sin \left( {\theta - \theta_{x}} \right)}\mspace{14mu} {for}}} \\ {{{{nT} + {4\; T_{1}}} \leq t < {{nT} + {5\; T_{1}}}}} \\ {= {{- \left( {K_{M}{l_{y\; 0}/J}} \right)}{\sin \left( {\theta - \theta_{x}} \right)}\mspace{14mu} {for}}} \\ {{{{nT} + {5\; T_{1}}} \leq t < {{nT} + {7\; T_{1}}}}} \\ {= {\left( {K_{M}{l_{y\; 0}/J}} \right){\sin \left( {\theta - \theta_{x}} \right)}\mspace{14mu} {for}}} \\ {{{{nT} + {7\; T_{1}}} \leq t < {{nT} + {8\; T_{1}}}}} \\ {{= {0\mspace{14mu} {else}}},} \end{matrix} & (180) \end{matrix}$

where α_(nom)(t) represents the acceleration expected on the basis of the current flow

i_(x nom)(θ_(x),t)i_(t soll)(θ_(x),t)

required for actual operation, and can thus be assumed to be known. From (180), this results firstly in:

cos(θ−θ_(x))=(J/K _(M))α_(test)(t _(x))/I _(x0), sin(θ−θ_(x))=(J/K _(M))α_(test)(t _(y))/I _(y0);  (190a)

where t_(x), t_(y) denote undefined times in the range

nT≦t _(x) ≦nT+T ₁ or nT+3T ₁ ≦t _(x) ≦nT+4T ₁  (190b)

or

nT+4T ₁ +T ₂ ≦t _(y) ≦nT+5T ₁ +T ₂ or

nT+7T ₁ +T ₂ ≦t _(y) ≦nT+8T ₁ +T ₂  (190c)

θ(nT) can thus be determined at this stage as follows:

θ(nT)=θ_(x) +a tan 2([α(t _(y))−θ_(nom)(t _(y))]/I _(y0),

[α(t_(x))−α_(soll)(t_(x))]/I_(x0).  (190d)

However, for practical use of this formula, it should be remembered that relationships relating to the current flow according to (180) are in generally valid only approximately, averaged over time.

In this case, it is more suitable to determine the rotor position θ in the time interval nT≦t≦(n+1)T using the formula:

θ(nT)=θ_(x) +a tan 2(c _(α iy) /c _(iy iy) ,c _(α ix) /c _(ix ix));  (200a)

where

c _(α ix)=∫_(n T≦t≦(n+1)T)[α(t)−α_(nom)(t)]i _(x test)(θ_(x) ,t)dt,

c _(α iy)=∫_(n T≦t≦(n+1)T)[α(t)−α_(nom)(t)]i _(y test)(θ_(x) ,t)dt,  (200b, c)

c _(ixix)=∫_(n T≦t≦(n+1)T) [i _(x test)(θ_(x) ,t)]² dt,

c _(iyiy)=∫_(n T≦t≦(n+1)T) [i _(y test)(θ_(x) ,t)]² dt.  (200d,e)

So far, the assumption has been made, and action has been carried out on the basis of the assumption, that the rotor position θ changes only insignificantly within the time intervals nT≦t≦(n+1)T=0. There is no need for this assumption if, for example, the actually desired motion profile

θ_(nom)(t)

is also taken into account. If the modified current flow is then superimposed instead of (170a-c):

i _(x test)(θ_(x)+θ_(nom)(t)−θ_(nom)(nt),t)=I _(x0)

for nT≦t<nT+T ₁ =−I _(x0)

for nT+T ₁ ≦t<nT+3T ₁ =I _(x0)

for nT+3T ₁ ≦t<nT+4T ₁=0 else  (220a)

i _(y test)(θ_(x)+θ_(nom)(t)−θ_(nom)(nt),t)=I _(y0)

for nT+4T ₁ ≦t<nT+5T ₁ =−I _(y0)

for nT+5T ₁≦t<nT+7T ₁ =I _(y0)

for nT+7T ₁ ≦t<nT+8T ₁=0 else  (220b)

n=0, 1, 2, . . .   (220c)

where T is based on (168), so that (190d) and (200a-e) are valid for this purpose in the same way.

Instead of the desired motion profile, an estimated position profile for the rotor 2 can also be used for θ_(nom)(t). Good options for estimation of the position profile are described, for example, in DE 44 39 233 A1 and in DE 100 24 394 A1.

A further possibility for a suitable test current flow, that is to say for a pulse pattern PM3 which has a current-flow pattern BM_(3x), BM_(3y), will be described in the following text with reference to FIG. 5: instead of the current based on (170a-c) and FIG. 4 or (220a-c), the current is in this case passed through the motor 1 as follows, with I_(x0) and I_(y0) denoting the maximum currents:

$\begin{matrix} \begin{matrix} {{i_{x\; {test}}\left( {\theta_{x},t} \right)} = l_{x\; 0}} & {{for}} & {{{nT} \leq t < {{nT} + {T/8}}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{{{nT} + {T/8}} \leq t < {{nT} + {3\; {T/8}}}}} \\ {= l_{x\; 0}} & {{for}} & {{{{nT} + {3\; {T/8}}} \leq t < {{nT} + {5\; {T/8}}}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{{{nT} + {5\; {T/8}}} \leq t < {{nT} + {7\; {T/8}}}}} \\ {= l_{x\; 0}} & {{for}} & {{{{nT} + {7\; {T/8}}} \leq t < {{nT} + T + T}}} \\ {= 0} & {{else}} &  \end{matrix} & \left( {240\; a} \right) \\ {\begin{matrix} {{i_{y\; {test}}\left( {\theta_{x},t} \right)} = l_{y\; 0}} & {{for}} & {{{nT} \leq t < {{nT} + {T/4}}}} \\ {= {- l_{y\; 0}}} & {{for}} & {{{{nT} + {T/4}} \leq t < {{nT} + {3\; {T/4}}}}} \\ {= l_{y\; 0}} & {{for}} & {{{{nT} + {3\; {T/4}}} \leq t < {{nT} + T}}} \\ {= 0} & {{{else},}} &  \end{matrix}\mspace{11mu}} & \left( {240\; b} \right) \\ {{n = 0},1,2,\ldots} & \left( {240\; c} \right) \\ {or} & \; \\ \begin{matrix} {{i_{x\; {test}}\left( {{\theta_{x} + {\theta_{nom}(t)} - {\theta_{nom}\left( {n,T} \right)}},t} \right)} = l_{x\; 0}} & {{for}} & {{{nT} \leq t < {{nT} + {T/8}}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{{{nT} + {T/8}} \leq t < {{nT} + {3\; {T/8}}}}} \\ {= l_{x\; 0}} & {{for}} & {{{{nT} + {3\; {T/8}}} \leq t < {{nT} + {5\; {T/8}}}}} \\ {= {- l_{x\; 0}}} & {{for}} & {{{{nT} + {5\; {T/8}}} \leq t < {{nT} + {7\; {T/8}}}}} \\ {= l_{x\; 0}} & {{for}} & {{{{{nT} + {7\; {T/8}}} \leq t < {{nT} + \; T}} = {0\mspace{14mu} {else}}}} \end{matrix} & \left( {245\; a} \right) \\ \begin{matrix} {{i_{y\; {test}}\left( {{\theta_{x} + {\theta_{nom}(t)} - {\theta_{nom}({nT})}},t} \right)} = l_{y\; 0}} & {{for}} & {{{nT} \leq t < {{nT} + {T/4}}}} \\ {= {- l_{y\; 0}}} & {{for}} & {{{{{nT} + {T/4}} \leq t < {nT}} = {3\; {T/4}}}} \\ {= l_{y\; 0}} & {{for}} & {{{{{{nT} + {3\; {T/4}}} \leq t < {{nT} + T}} = {0\mspace{14mu} {else}}},}} \end{matrix} & \left( {245\; b} \right) \\ {{n = 0},1,2,\ldots} & \left( {245\; c} \right) \end{matrix}$

In this case as well, θ_(nom)(t) denotes the desired motion profile or an estimated position profile of the rotor 2. In this context, reference is likewise made to DE 44 39 233 A1 and DE 100 24 394 A1.

In this case, it is no longer possible to calculate the rotor position on the basis of (190d), or even on the basis of (200a-e). In this case, T must be chosen such that the frequency 2/T is negligible in comparison to any cut-off frequency (see DE 44 39 233 A1, page 7, lines 39-51) of the acceleration measurement system.

For the purposes of frequency-division multiplexing and contrary to the abovementioned exemplary embodiments, sinusoidal current profiles can also be used instead of a square-wave current profile on the basis of (240a-c) and FIG. 5 or (245a-c):

i _(x test)(θ_(x) ,t)=I _(x0) cos(2πf _(x) t) for t>0  (250a)

i _(y test)(θ_(x) ,t)=I _(y0) cos(2πf _(y) t) for t>0  (250b)

or

i _(x test)(θ_(x)+θ_(nom)(t),t)=I _(x0) cos(2πf _(x) t) for t>0  (260a)

i _(y test)(θ_(x)+θ_(nom)(t),t)=I _(y0) cos(2πf _(y) t) for t>0  (260b)

This based on the assumption that the desired motion profile θ_(nom)(t) changes only slowly over time in comparison to the cosine functions cos(2πf_(x)t), cos(2πf_(y)t).

However, the rotor position θ is no longer determined on the basis of (200a-e), but by the application of relevant demodulation methods to the measured acceleration signal. Demodulation methods such as these are known, for example, from information technology. This results in the signals:

A_(x)(t), A_(y)(t),  (270)

which vary only slowly over time in comparison to cos(2πf_(x)t), cos(2πf_(y)t), and for which, approximately:

α(t)=A _(x)(t)cos(2πf _(x) t)+A _(y)(t)cos(2πf _(y) t).  (280)

The desired profile of the rotor position θ is obtained from these signals using:

θ(t)=θ_(x) +a tan 2(A _(y)(t)/I _(y0) ,A _(x)(t)/I _(x0))  (290)

or

θ(t)=θ_(x)+θ_(nom)(x)+a tan 2(A _(y)(t)/I _(y0) ,A _(x)(t)/I _(x0))  (300)

If the frequencies f_(x), f_(y) are in this case no longer negligible in comparison to any cut-off frequency (see DE 44 39 233 A1, page 7, lines 39-51), the above method must be modified as described in the following text:

In this situation, the output signal U_(α)(t) is not directionally proportional to α(t), but, rather than this:

U _(α)(t)=U _(x)(t)cos(2πf _(x) t+φ _(x))+U _(y)(t)cos(2πf _(y) t+φ _(y))  (310a)

where

U _(x)(t)=A _(x)(t)|H(j2πf _(x))|, φ_(x)=arg(H(j2πf _(x))),  (310b, c)

U _(y)(t)=A _(y)(t)|H(j2πf _(y))|, φ_(y)=arg(H(j2πf _(y)),  (310d, e)

where H is the transfer function of the acceleration measurement system and arg(z) is the argument of the complex number z. In consequence, the signals A_(x)(t), A_(y)(t) can be determined using:

A _(x)(t)=U _(x)(t)/|H(j2πf _(x))|, A _(y)(t)=U _(y)(t)/|H(j2πf _(y))|  (320a, b)

and the rotor position can thus be calculated using (290) and (300).

According to (180), the current flow as described so far through the motor 1 in general leads to an additional “vibration-like” rotary movement, which is superimposed on the actually desired rotary movement of the rotor 2. This is not disadvantageous if I_(x0), I_(y0) are sufficiently small. A further reduction in this additionally superimposed rotary movement, that is to say test movement, can advantageously be achieved by selecting

I_(x0)=0  (330a)

and attempting to approximate:

θ_(x)=θ  (330b).

In this case, however, the rotor position θ can no longer be determined using (190d) or (200a-e) (for pulse pattern PM2 or PM3), or (290) or (300) (for “frequency-division multiplex” based on (260a, b) or (260a, b) respectively), because in this case it would be necessary to evaluate undefined expressions of the type 0/0. However, in this case, a control loop can be used to readjust θ_(x) such that the variable c_(α iy) according to (200c) (for pulse patterns PM2 or PM3) or the signal A_(y)(t) according to (280) or U_(y)(t) according to (310a) for “frequency-division multiplex” based on (250a, b) or (260a, b) respectively) is regulated to be zero. The rotor position θ is then obtained from (330b).

The method according to the invention, which has been described above for rotating electric motors, can also be used analogously for linear motors. In this case as well, the method makes it possible particularly during a starting process, to determine the position of the moving part of the motor without either absolute or incremental position measurement. 

1.-22. (canceled)
 23. A method for determining an angular position of a rotor of an electric motor, said rotor having a defined number of pole pairs, the method comprising the steps of: applying to at least one stator winding of the electric motor an electric current having a predetermined pulse pattern and a predetermined pulse duration, said electric current causing the rotor to rotate during the pulse duration by no more than 90° divided by the number of pole pairs, measuring an angular acceleration of the rotor, and determining the angular position of the rotor from a relationship between the electric current and the angular acceleration.
 24. The method of claim 23, wherein the angular acceleration is measured by measuring a variable which only dependent on the angular acceleration, without determination of an incremental rotor position and a speed of the rotor.
 25. The method of claim 23, wherein the electric current applied to the at least one stator winding includes a current-flow pattern of linearly independent current components.
 26. The method of claim 23, wherein the rotor rotates by no more than 2° during the pulse duration.
 27. The method of claim 23, wherein the rotor is stationary before the angular position is determined.
 28. The method of claim 23, wherein the rotor is rotating when the angular position is determined.
 29. The method of claim 25, wherein the current components of the pulse pattern have current-flow patterns with a time offset within the predetermined pulse duration.
 30. The method of claim 29, wherein the current components flowing through the at least one stator winding include two current components which are mutually orthogonal.
 31. The method of claim 30, wherein the current-flow patterns of the two current components are identical.
 32. The method of claim 29, wherein a current-flow pattern has a first current-flow phase with a non-zero current component and a second current-flow phase with a zero current component.
 33. The method of claim 32, wherein a current-flow phase of one of the current components of the current-flow pattern is located within a zero-current current-flow phase of another current component of the same pulse pattern.
 34. The method of claim 25, wherein two current components of the pulse pattern are synchronous, but have different current-flow patterns.
 35. The method of claim 24, wherein a current-flow pattern includes different sections, wherein the current component has a different mathematical sign in the different section, without causing a permanent change in the angular position.
 36. The method of claim 35, wherein a current-flow pattern includes a central section where the current component has a first mathematical sign, and respective edge sections located before and after the central section where the current component has the opposite mathematical sign.
 37. The method of claim 36, wherein a magnitude of a maximum current of the current component in the central section is identical to a magnitude of a maximum current in the edge sections.
 38. The method of claim 37, wherein the edge sections each have an identical time duration, and wherein this time duration is one half of a time duration of the central section.
 39. The method of claim 23, wherein the pulse pattern repeats periodically.
 40. The method of claim 23, wherein the pulse pattern comprises a square-wave pulse.
 41. The method of claim 23, wherein the pulse pattern has a sinusoidal current profile.
 42. An apparatus for determining an angular position of a rotor of an electric motor, said rotor having a defined number of pole pairs, the apparatus comprising: at least one stator winding receiving an electric current with a pulse pattern having a predetermined pulse duration, said electric current causing the rotor to rotate during the pulse duration by no more than 90° divided by the number of pole pairs, an acceleration sensor adapted to record an angular acceleration of the rotor caused by the electric current passing through the stator windings, and an evaluation unit cooperating with the at least one stator winding and with the acceleration sensor, said evaluation unit determining the angular position of the rotor from a relationship between the electric current and the angular acceleration.
 43. The apparatus of claim 42, wherein the acceleration sensor comprises a Ferraris sensor.
 44. The apparatus of claim 42, wherein the rotor is implemented as a permanent-magnet rotor. 